www.gusucode.com > Sphero Connectivity Package 程序工具箱matlab源码 > Sphero Connectivity Package/simulink/getSpheroSetupBlockUserData.m

    % getSpheroSetupBlockUserData(modelHandle, spheroVarNumber)
%  Searches the model for the Sphero Name Setup block specified by <spheroVarNumber> (e.g., 'Sphero1')
%  and returns the userdata of that block. Throws an error if there isn't a unique
%  match for the block or if the userdata is empty.
% 
%  modelHandle can be a string or a numeric handle 
%  spheroVarNumber is a string, corresponding to the spheroVarNumber parameter (e.g., 'Sphero1')
%
% Example:
%  customData = getSpheroSetupBlockUserData(bdroot(gcb), 'Sphero1');
%  customData = getSpheroSetupBlockUserData(bdroot(block.BlockHandle), block.DialogPrm(1).Data); % in a M S-fcn

%   Copyright 2015 The MathWorks, Inc.

function data = getSpheroSetupBlockUserData(modelHandle, spheroVarNumber)

blockName = find_system(modelHandle,...
    'SearchDepth', 1, ...
    'MaskType', 'Sphero Name Setup', ...
    'spheroVarNumber', spheroVarNumber);

if numel(blockName) == 0
    error('Cannot find Sphero Name Setup Block for ''%s'' at top level of model', spheroVarNumber);
elseif numel(blockName) > 1
    error('Multiple Sphero Name Setup Blocks for ''%s''', spheroVarNumber);
end

data = get_param(blockName, 'UserData');
if isempty(data)
   error('Sphero Name Setup Block for ''%s'' is not initialized', spheroVarNumber); 
end